﻿using System.Collections.Generic;
using MsForgeReboot.Framework.Entities;

namespace MsForgeReboot.Framework.Services.Contracts {
    public interface IScheduleDeliveryService {

        /// <summary>
        /// Delivers the event through all the channels chosen 
        /// </summary>
        /// <param name="source">Event to deliver</param>
        /// <returns>IList of DeliveryResuls</returns>
        //IList<DeliveryResult> ScheduleDelivery(Event source);
        void ScheduleDelivery(Event source);

        /// <summary>
        /// Persists event to the database 
        /// </summary>
        /// <param name="source">Event to persist</param>
        /// <param name="statisticSource">IEnumerable of DeliveryResults to draw stastics from</param>
        //void PersistEvent(Event source, IEnumerable<DeliveryResult> statisticSource);
    }
}
